﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Interfleet.SE.UICompiler.Core.YahooCssCompressor
{
    /// <summary>
    /// Compiler factory for Yahoo Css Compressor.
    /// </summary>
    /// <seealso cref="Arguments"/>
    /// <see cref="CompilerAgent"/>
    /// <see cref="CompileOptions"/>
    public class YCCompilerAgentFactory : CompileAgentFactory
    {
        /// <summary>
        /// Returns a <see cref="CompilerAgent"/> for Yahoo css compressor
        /// </summary>
        /// <param name="arguments"></param>
        /// <returns></returns>
        public override CompilerAgent CreateCompilerAgent(Arguments arguments)
        {
            return new YCCompilerAgent(arguments);
        }

        /// <summary>
        /// Creates empty <see cref="Arguments"/> for use with <see cref="YCCompilerAgent"/>
        /// </summary>
        /// <returns>An empty instance of <see cref="YCArguments"/></returns>
        public override Arguments CreateArguments()
        {
            return new YCArguments();
        }

        /// <summary>
        /// Returns compile options for Yahoo css compressor.
        /// </summary>
        /// <returns></returns>
        public override CompileOptions GetCompileOptions()
        {
            return new YCCompileOptions();
        }
    }
}
